Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Wrapping (text)</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Wrapping_(text)"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Wrapping_text rootpage-Wrapping_text skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Wrapping (text)</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<p><b>Text wrapping</b>, also known as <b>line wrapping</b>, <b>word wrapping</b> or <b>line breaking</b>, is breaking a section of text into lines so that it will fit into the available width of a page, window or other display area. In text display, <b>line wrap</b> is continuing on a new line when a line is full, so that each line fits into the viewable area without overflowing, allowing text to be read from top to bottom without any horizontal <a href="Scrolling" title="Scrolling">scrolling</a>. <b>Word wrap</b> is the additional feature of most <a href="Text_editor" title="Text editor">text editors</a>, <a href="Word_processors" class="mw-redirect" title="Word processors">word processors</a>, and <a href="Web_browser" title="Web browser">web browsers</a>, of breaking lines between words rather than within words, where possible. Word wrap makes it unnecessary to <a href="Hard_coding" title="Hard coding">hard-code</a> <a href="Newline" title="Newline">newline</a> delimiters within paragraphs, and allows the display of text to adapt flexibly and dynamically to displays of varying sizes.
</p>
<div style="clear:both;" class=""></div>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Examples">Examples</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1224211176">
/* start https://en.wikipedia.org/ */


.mw-parser-output .quotebox{background-color:#F9F9F9;border:1px solid #aaa;box-sizing:border-box;padding:10px;font-size:88%;max-width:100%}.mw-parser-output .quotebox.floatleft{margin:.5em 1.4em .8em 0}.mw-parser-output .quotebox.floatright{margin:.5em 0 .8em 1.4em}.mw-parser-output .quotebox.centered{overflow:hidden;position:relative;margin:.5em auto .8em auto}.mw-parser-output .quotebox.floatleft span,.mw-parser-output .quotebox.floatright span{font-style:inherit}.mw-parser-output .quotebox>blockquote{margin:0;padding:0;border-left:0;font-family:inherit;font-size:inherit}.mw-parser-output .quotebox-title{text-align:center;font-size:110%;font-weight:bold}.mw-parser-output .quotebox-quote>:first-child{margin-top:0}.mw-parser-output .quotebox-quote:last-child>:last-child{margin-bottom:0}.mw-parser-output .quotebox-quote.quoted:before{font-family:"Times New Roman",serif;font-weight:bold;font-size:large;color:gray;content:" “ ";vertical-align:-45%;line-height:0}.mw-parser-output .quotebox-quote.quoted:after{font-family:"Times New Roman",serif;font-weight:bold;font-size:large;color:gray;content:" ” ";line-height:0}.mw-parser-output .quotebox .left-aligned{text-align:left}.mw-parser-output .quotebox .right-aligned{text-align:right}.mw-parser-output .quotebox .center-aligned{text-align:center}.mw-parser-output .quotebox .quote-title,.mw-parser-output .quotebox .quotebox-quote{display:block}.mw-parser-output .quotebox cite{display:block;font-style:normal}@media screen and (max-width:640px){.mw-parser-output .quotebox{width:100%!important;margin:0 0 .8em!important;float:none!important}}


/* end https://en.wikipedia.org/ */
</style><div class="quotebox pullquote floatright" style="width:35%; ;">
<div class="quotebox-title" style="">With word wrap</div>
<blockquote class="quotebox-quote left-aligned" style="">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
</blockquote>
</div>
<div class="quotebox pullquote floatright" style=";">
<div class="quotebox-title" style="">Without word wrap</div>
<blockquote class="quotebox-quote left-aligned" style="">
<p><span class="nowrap">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</span>
</p>
</blockquote>
</div>
<div class="quotebox pullquote floatright" style="width:35%; ;">
<div class="quotebox-title" style="">Hard coded newlines</div>
<blockquote class="quotebox-quote left-aligned" style="">
<p><span class="nowrap">Lorem ipsum dolor sit amet, consectetur adipiscing elit,</span>
<span class="nowrap">sed do eiusmod tempor incididunt ut labore et dolore</span><br>
<span class="nowrap">magna aliqua. Ut enim ad minim veniam, quis nostrud</span><br>
<span class="nowrap">exercitation ullamco laboris nisi ut aliquip ex ea</span><br>
<span class="nowrap">commodo consequat. Duis aute irure dolor in</span><br>
<span class="nowrap">reprehenderit in voluptate velit esse cillum dolore eu</span><br>
<span class="nowrap">fugiat nulla pariatur. Excepteur sint occaecat cupidatat</span><br>
<span class="nowrap">non proident, sunt in culpa qui officia deserunt mollit</span><br>
<span class="nowrap">anim id est laborum.</span>
</p>
</blockquote>
</div>
<div class="mw-heading mw-heading2"><h2 id="Soft_and_hard_returns">Soft and hard returns</h2></div>
<p>A soft return or soft wrap is the break resulting from line wrap or word wrap (whether automatic or manual), whereas a hard return or hard wrap is an intentional break, creating a new paragraph. With a hard return, paragraph-break formatting can (and should) be applied (either <a href="Indentation_(typesetting)" title="Indentation (typesetting)">indenting</a> or vertical whitespace). Soft wrapping allows line lengths to adjust automatically with adjustments to the width of the user's window or margin settings, and is a standard feature of all modern text editors, word processors, and <a href="Email_client" title="Email client">email clients</a>. Manual soft breaks are unnecessary when word wrap is done automatically, so hitting the "Enter" key usually produces a hard return.
</p><p>Alternatively, "soft return" can mean an intentional, stored line break that is not a paragraph break. For example, it is common to print postal addresses in a multiple-line format, but the several lines are understood to be a single paragraph. Line breaks are needed to divide the words of the address into lines of the appropriate length.
</p><p>In the contemporary <a href="Graphical_user_interface" title="Graphical user interface">graphical</a> word processors <a href="Microsoft_Word" title="Microsoft Word">Microsoft Word</a> and <a href="Libreoffice_Writer" class="mw-redirect" title="Libreoffice Writer">Libreoffice Writer</a>, users are expected to type a carriage return (<style data-mw-deduplicate="TemplateStyles:r1249182868">
/* start https://en.wikipedia.org/ */


.mw-parser-output .keyboard-key{border:1px solid #aaa;border-radius:0.2em;box-shadow:0.1em 0.1em 0.2em rgba(0,0,0,0.1);background-color:var(--background-color-neutral-subtle,#f8f9fa);background-image:linear-gradient(to bottom,var(--background-color-neutral,#eaecf0),var(--background-color-neutral-subtle,#f8f9fa),var(--background-color-neutral,#eaecf0));color:var(--color-base,#202122);padding:0.1em 0.3em;font-family:inherit;font-size:0.85em}


/* end https://en.wikipedia.org/ */
</style><kbd class="keyboard-key nowrap">↵ <a href="Enter_key" title="Enter key">Enter</a></kbd>) between each paragraph. Formatting settings, such as first-line indentation or spacing between paragraphs, take effect where the carriage return marks the break. A non-paragraph line break, which is a soft return, is inserted using <kbd class="keyboard-key nowrap">⇧ <a href="Shift_key" title="Shift key">Shift</a></kbd>+<kbd class="keyboard-key nowrap">↵ <a href="Enter_key" title="Enter key">Enter</a></kbd> or via the menus, and is provided for cases when the text should start on a new line but none of the other side effects of starting a new paragraph are desired.
</p><p>In text-oriented markup languages, a soft return is typically offered as a markup tag. For example, in <a href="HTML" title="HTML">HTML</a> there is a &lt;br&gt; tag that has the same purpose as the soft return in word processors described above.
</p>
<div class="mw-heading mw-heading3"><h3 id="Unicode">Unicode</h3></div>
<p>The <a href="Unicode" title="Unicode">Unicode</a> Line Breaking Algorithm determines a set of positions, known as <i>break opportunities</i>, that are appropriate places in which to begin a new line. The actual line break positions are picked from among the break opportunities by the higher level software that calls the algorithm, not by the algorithm itself, because only the higher level software knows about the width of the display the text is displayed on and the width of the glyphs that make up the displayed text.<sup id="cite_ref-annex14_1-0" class="reference"><a href="#cite_note-annex14-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p><p>The Unicode character set provides a line separator character as well as a paragraph separator to represent the semantics of the soft return and hard return.
</p>
<dl><dt><span class="nowrap"><style data-mw-deduplicate="TemplateStyles:r886049734">
/* start https://en.wikipedia.org/ */


.mw-parser-output .monospaced{font-family:monospace,monospace}


/* end https://en.wikipedia.org/ */
</style><span class="monospaced">U+2028</span> </span> <span style="font-variant: small-caps; text-transform: lowercase; font-feature-settings: 'onum'">LINE SEPARATOR</span></dt>
<dd>may be used to represent these semantics unambiguously</dd>
<dt><span class="nowrap"><span class="monospaced">U+2029</span> </span> <span style="font-variant: small-caps; text-transform: lowercase; font-feature-settings: 'onum'">PARAGRAPH SEPARATOR</span></dt>
<dd>may be used to represent these semantics unambiguously</dd></dl>
<div class="mw-heading mw-heading2"><h2 id="Word_boundaries,_hyphenation,_and_hard_spaces">Word boundaries, hyphenation, and hard spaces</h2></div>
<p>The soft returns are usually placed after the ends of complete words, or after the punctuation that follows complete words. However, word wrap may also occur following a <a href="Hyphen" title="Hyphen">hyphen</a> inside of a word. This is sometimes not desired, and can be blocked by using a <a href="Non-breaking_hyphen" class="mw-redirect" title="Non-breaking hyphen">non-breaking hyphen</a>, or <a href="Hard_hyphen" class="mw-redirect" title="Hard hyphen">hard hyphen</a>, instead of a regular hyphen.
</p><p>A word without hyphens can be made wrappable by having <a href="Soft_hyphen" title="Soft hyphen">soft hyphens</a> in it. When the word isn't wrapped (i.e., isn't broken across lines), the soft hyphen isn't visible. But if the word is wrapped across lines, this is done at the soft hyphen, at which point it is shown as a visible hyphen on the top line where the word is broken. (In the rare case of a word that is meant to be wrappable by breaking it across lines but <i>without</i> making a hyphen ever appear, a <a href="Zero-width_space" title="Zero-width space">zero-width space</a> is put at the permitted breaking point(s) in the word.)
</p><p>Sometimes word wrap is undesirable between adjacent words. In such cases, word wrap can usually be blocked by using a <i>hard space</i> or <a href="Non-breaking_space" title="Non-breaking space">non-breaking space</a> between the words, instead of regular spaces.
</p>
<div class="mw-heading mw-heading2"><h2 id="Word_wrapping_in_text_containing_Chinese,_Japanese,_and_Korean">Word wrapping in text containing Chinese, Japanese, and Korean</h2></div>
<p>In <a href="Chinese_language" title="Chinese language">Chinese</a>, <a href="Japanese_language" title="Japanese language">Japanese</a>, and <a href="Korean_language" title="Korean language">Korean</a>, word wrapping can usually occur before and after any <a href="Han_character" class="mw-redirect" title="Han character">Han character</a>, but certain punctuation characters are not allowed to begin a new line.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> Japanese <a href="Kana" title="Kana">kana</a> are treated the same way as Han Characters (<a href="Kanji" title="Kanji">Kanji</a>) by extension, meaning words can, and tend to be, broken without any explicit indication that a word continues on the next line.
</p><p>Under certain circumstances, however, word wrapping is not desired. For instance,
</p>
<ul><li>word wrapping might not be desired within personal names, and</li>
<li>word wrapping might not be desired within any compound words (when the text is flush left but only in some styles).</li></ul>
<p>Most existing word processors and <a href="Typesetting" title="Typesetting">typesetting</a> software cannot handle either of the above scenarios.
</p><p><a href="CJK_characters" title="CJK characters">CJK</a> punctuation may or may not follow rules similar to the above-mentioned special circumstances. It is up to <a href="Line_breaking_rules_in_East_Asian_language" class="mw-redirect" title="Line breaking rules in East Asian language">line breaking rules in CJK</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Algorithm">Algorithm</h2></div>
<p>Word wrapping is an <a href="Optimization_problem" title="Optimization problem">optimization problem</a>. Depending on what needs to be optimized for, different algorithms are used.
</p>
<div class="mw-heading mw-heading3"><h3 id="Minimum_number_of_lines">Minimum number of lines</h3></div>
<p>A simple way to do word wrapping is to use a <a href="Greedy_algorithm" title="Greedy algorithm">greedy algorithm</a> that puts as many words on a line as possible, then moving on to the next line to do the same until there are no more words left to place. This method is used by many modern word processors, such as <a href="Libreoffice_Writer" class="mw-redirect" title="Libreoffice Writer">Libreoffice Writer</a> and Microsoft Word. This algorithm always uses the minimum possible number of lines but may lead to lines of widely varying lengths. The following pseudocode implements this algorithm:
</p>
<pre>SpaceLeft&nbsp;:= LineWidth
for each Word in Text
if (Width(Word) + SpaceWidth) &gt; SpaceLeft
insert line break before Word in Text
SpaceLeft&nbsp;:= LineWidth - Width(Word)
else
SpaceLeft&nbsp;:= SpaceLeft - (Width(Word) + SpaceWidth)
</pre>
<p>Where <code>LineWidth</code> is the width of a line, <code>SpaceLeft</code> is the remaining width of space on the line to fill, <code>SpaceWidth</code> is the width of a single space character, <code>Text</code> is the input text to iterate over and <code>Word</code> is a word in this text.
</p>
<div class="mw-heading mw-heading3"><h3 id="Minimum_raggedness">Minimum raggedness</h3></div>
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Knuth%E2%80%93Plass_line-breaking_algorithm" title="Knuth–Plass line-breaking algorithm">Knuth–Plass line-breaking algorithm</a></div>
<p>A different algorithm, used in <a href="TeX" title="TeX">TeX</a>, minimizes the sum of the squares of the lengths of the spaces at the end of lines to produce a more aesthetically pleasing result than the greedy algorithm, which does not always minimize squared space.
</p>
<div class="mw-heading mw-heading3"><h3 id="History">History</h3></div>
<p>A primitive line-breaking feature was used in 1955 in a "page printer control unit" developed by <a href="Western_Union" title="Western Union">Western Union</a>. This system used relays rather than programmable digital computers, and therefore needed a simple algorithm that could be implemented without <a href="Data_buffer" title="Data buffer">data buffers</a>. In the Western Union system, each line was broken at the first space character to appear after the 58th character, or at the 70th character if no space character was found.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p><p>The greedy algorithm for line-breaking predates the dynamic programming method outlined by <a href="Donald_Knuth" title="Donald Knuth">Donald Knuth</a> in an unpublished 1977 memo describing his TeX typesetting system<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> and later published in more detail by Knuth &amp; Plass (1981).<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Non-breaking_space" title="Non-breaking space">Non-breaking space</a>&nbsp;– Special character in text processing</li>
<li><a href="Typographic_alignment" title="Typographic alignment">Typographic alignment</a>&nbsp;– Setting of text flow or image placement relative to a page, column, table cell, or tab</li>
<li><a href="Zero-width_space" title="Zero-width space">Zero-width space</a>&nbsp;– Special character in text processing</li>
<li><a href="Word_divider" title="Word divider">Word divider</a>&nbsp;– Glyph that separates written words</li>
<li><a href="Word_joiner" title="Word joiner">Word joiner</a>&nbsp;– Character in text processing</li>
<li><a href="Characters_per_line" title="Characters per line">Characters per line</a>&nbsp;– Max number of monospaced characters allowed on a line</li>
<li><a href="Line_length" title="Line length">Line length</a>&nbsp;– In typography, width of a block of typeset text</li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-annex14-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-annex14_1-0">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFHeninger2013" class="citation journal cs1 cs1-prop-long-vol">Heninger, Andy, ed. (2013-01-25). <a rel="nofollow" class="external text" href="https://www.unicode.org/L2/L2013/13022-uax14-31.pdf">"Unicode Line Breaking Algorithm"</a> <span class="cs1-format">(PDF)</span>. <i>Technical Reports</i>. Annex #14 (Proposed Update Unicode Standard): 2<span class="reference-accessdate">. Retrieved <span class="nowrap">10 March</span> 2015</span>. <q>WORD JOINER should be used if the intent is to merely prevent a line break</q></cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite id="CITEREFLunde1999" class="citation cs2">Lunde, Ken (1999), <a rel="nofollow" class="external text" href="https://books.google.com/books?id=Cn7jnk9WwZEC&amp;pg=PA352"><i>CJKV Information Processing: Chinese, Japanese, Korean &amp; Vietnamese Computing</i></a>, O'Reilly Media, Inc., p.&nbsp;352, <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>9781565922242</bdi></cite>.</span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><cite id="CITEREFHarris1956" class="citation cs2">Harris, Robert W. (January 1956), <a rel="nofollow" class="external text" href="https://web.archive.org/web/20150803091021/http://massis.lcs.mit.edu/archives/technical/western-union-tech-review/10-1/p040.htm">"Keyboard standardization"</a>, <i>Western Union Technical Review</i>, <b>10</b> (1): <span class="nowrap">37–</span>42, archived from <a rel="nofollow" class="external text" href="http://massis.lcs.mit.edu/archives/technical/western-union-tech-review/10-1/p040.htm">the original</a> on 2015-08-03<span class="reference-accessdate">, retrieved <span class="nowrap">2013-04-07</span></span></cite>.</span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><cite id="CITEREFKnuth1977" class="citation cs2"><a href="Donald_Knuth" title="Donald Knuth">Knuth, Donald</a> (1977), <a rel="nofollow" class="external text" href="https://www.saildart.org/TEXDR.AFT%5B1,DEK%5D"><i>TEXDR.AFT</i></a><span class="reference-accessdate">, retrieved <span class="nowrap">2013-04-07</span></span></cite>. Reprinted in <cite id="CITEREFKnuth1999" class="citation cs2"><a href="Donald_Knuth" title="Donald Knuth">Knuth, Donald</a> (1999), <span class="id-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/digitaltypograph0000knut"><i>Digital Typography</i></a></span>, CSLI Lecture Notes, vol.&nbsp;78, Stanford, California: Center for the Study of Language and Information, <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>1-57586-010-4</bdi></cite>.</span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><cite id="CITEREFKnuthPlass1981" class="citation cs2">Knuth, Donald Ervin; Plass, Michael F (1981), "Breaking Paragraphs into Lines", <i>Software: Practice and Experience</i>, <b>11</b> (11): <span class="nowrap">1119–</span>84, <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1002%2Fspe.4380111102">10.1002/spe.4380111102</a>, <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&nbsp;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:206508107">206508107</a></cite></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://www.unicode.org/reports/tr14/">Unicode Line Breaking Algorithm</a></li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-08-01" href="https://en.wikipedia.org/wiki/?title=Wrapping_(text)&amp;oldid=1303631208">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>